package team.knowers.qzh.qzhserver.service;

import com.baomidou.mybatisplus.extension.service.IService;
import team.knowers.qzh.qzhserver.dao.entity.MyCourseDO;
import team.knowers.qzh.qzhserver.dto.req.ChangeProgressReqDTO;
import team.knowers.qzh.qzhserver.dto.req.SetMyCourseReqDTO;
import team.knowers.qzh.qzhserver.dto.resp.MyCourseRespDTO;

import java.util.List;

/**
 * 我的课程服务层
 *
 * @author xtg
 */
public interface MyCourseService extends IService<MyCourseDO> {
    /**
     * 显示我的已学课程数据
     */
    List<MyCourseRespDTO> listMyCourse(String username);

    /**
     * 将某课程设置为我的课程
     */
    Boolean setMyCourse(SetMyCourseReqDTO reqDTO);

    /**
     * 某课程是否被某用户订阅
     */
    Boolean isMyCourse(SetMyCourseReqDTO reqDTO);

    /**
     * 更改学习进度
     */
    Void changeProgress(ChangeProgressReqDTO reqDTO);

    /**
     * 获得学习进度
     * @param courseId
     * @param username
     * @return
     */
    Long getProgress(Long courseId, String username);
}
